FlashCopy® is a feature supported on various storage devices that allows nearly instantaneous point-in-time copies of entire logical volumes or data sets to be made. (FlashCopy is a registered trademark of International Business Machines Corporation in the United States, other countries, or both.) Thus, the FlashCopy function enables one to make point-in-time, full volume copies of data, with the copies immediately available for read or write access. The copy may be used with standard backup tools that are available in a computing environment to create backup copies on tape.
Moreover, FlashCopy creates a point-in-time copy of a source volume on a target volume. When a FlashCopy operation is initiated, a FlashCopy relationship is created between the source volume and the target volume. Thus, a FlashCopy relationship is a “mapping” of the FlashCopy source volume and the FlashCopy target volume. This mapping allows a point-in-time copy of that source volume to be copied to the associated target volume. The FlashCopy relationship exists between this volume pair from the time that a FlashCopy operation is initiated until the storage unit copies all data from the source volume to the target volume or until the FlashCopy relationship is deleted. Moreover, a cascaded FlashCopy configuration is one where the source disk of one map is the target disk of another map. For example, there may be one map defined with source disk A and target disk B, and another map defined with source disk B and target disk C. The cascade would include the three disks A, B and C and the two maps. Once the copies are made, the copies are immediately available for both read and write access.
When the data is physically copied, a background process copies tracks (or grains) from the source volume to the target volume. The amount of time that it takes to complete the background copy depends on, for example: the amount of data being copied; the number of background copy processes that are occurring and the other activities that are occurring on the storage system, amongst other factors.
When a FlashCopy operation copies data from a source volume to a target volume, that source volume can be involved in more than one FlashCopy relationship at the same time (known as a multiple relationship FlashCopy). That is, the multiple relationship FlashCopy function allows a source volume to have multiple targets simultaneously. If a track on a volume is not a target track of an existing FlashCopy relationship, it can become the target in a new FlashCopy relationship.
Thus, for example, if multiple copies of the same data are required, this multiple relationship FlashCopy function allows a single source volume to be copied multiple (e.g., up to twelve) times to different target volumes as soon as a FlashCopy volume is established. For example, suppose a FlashCopy is used to copy volume A to volume B. As soon as that FlashCopy relationship is established, volume A may be copied to volume C. Once that relationship is established, volume A may be copied to volume D, and so on. Additionally, multiple sessions within a single volume are possible.
Multiple target FlashCopy, when implemented using a cascade methodology, offers great scalability in terms of number of copies whilst also giving the user the ability to make copies of copies. However, multiple target FlashCopy when implemented using a cascade methodology also introduces the undesirable concept of having to “clean” a FlashCopy map before it can be removed from a cascade. The cleaning process ensures that no disk in the cascade is dependent on the target disk of the map being removed. The cleaning process can take a considerable amount of time to complete.
Additionally, FlashCopy may utilize space-efficient volumes. The FlashCopy space-efficient (SE) feature allocates storage space on an “as-needed” basis by using space on a target volume only when it actually copies tracks (or grains) from the source volume to the target volume. Without space-efficient volumes, the FlashCopy function requires that all the space on a target volume be allocated and available even if no data is copied there. However, with space-efficient volumes, FlashCopy uses only the number of tracks (or grains) that are required to write the data that is changed during the lifetime of the FlashCopy relationship, so the allocation of space is on an “as-needed” basis. Because space-efficient FlashCopy volumes do not require a target volume that is the exact size of the source volume, the FlashCopy SE feature increases the potential for a more effective use of system storage.
The space-efficiency attribute may be defined for the target volumes during the volume creation process. A space-efficient volume can be created from any extent pool that has already-created space-efficient storage. As long as the space-efficient source and target volumes have been created and are available, they can be selected when the FlashCopy relationship is created.
Thus, as described above, the FlashCopy SE feature increases the potential for a more effective use of system storage. However, combining multiple target FlashCopy with space efficient volumes adds another problem to the cleaning process. That is, consider the situation where a customer has a daily backup copy, wherein every day, for example, the customer makes a new space efficient copy of this backup. Cascade and multiple target FlashCopy and space efficient volumes enables this setup. Also, consider that in order to reduce time taken to complete the daily backup, the FlashCopy map is made incremental. The problem with the cleaning process in this scenario is that the cleaning process will need to copy all the data from the daily backup to the latest space efficient copy. However, since the daily copy is a complete copy this will require that the whole of the space efficient copy will be allocated. Thus, with this scenario, the utilization of the space efficient volume is “broken” by the cascaded cleaning methodology.
Accordingly, there exists a need in the art to overcome the deficiencies and limitations described hereinabove.